home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 September / CHIP Eylül 1996.iso / utils / povray / povsrc.sea / POVSRC / SOURCE / ScreenUtils.c < prev    next >
MacBinary  |  1994-02-04  |  10.5 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Feb 4 18:17:17 1994, modified Fri Feb 4 18:17:17 1994, creator 'MPS ', type ASCII, 9650 bytes "ScreenUtils.c" , at 0x2632 856 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 53 63 72 65 65 6e | 55 74 69 6c 73 2e 63 00 |..Screen|Utils.c.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 25 b2 00 | 00 03 58 a9 78 87 fd a9 |.....%..|..X.x...|
|00000060| 78 87 fd 00 00 02 00 00 | 00 00 00 00 00 00 00 00 |x.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 d9 1c 00 00 |........|........|
|00000080| 2f 2a 0d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/*.=====|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000d0| 3d 0d 50 72 6f 6a 65 63 | 74 3a 09 50 4f 56 2d 52 |=.Projec|t:.POV-R|
|000000e0| 61 79 0d 0d 56 65 72 73 | 69 6f 6e 3a 09 32 2e 32 |ay..Vers|ion:.2.2|
|000000f0| 0d 0d 46 69 6c 65 20 4e | 61 6d 65 3a 09 53 63 72 |..File N|ame:.Scr|
|00000100| 65 65 6e 55 74 69 6c 73 | 2e 63 0d 0d 44 65 73 63 |eenUtils|.c..Desc|
|00000110| 72 69 70 74 69 6f 6e 3a | 0d 09 47 65 6e 65 72 61 |ription:|..Genera|
|00000120| 6c 2d 70 75 72 70 6f 73 | 65 20 73 63 72 65 65 6e |l-purpos|e screen|
|00000130| 2f 64 65 76 69 63 65 20 | 72 6f 75 74 69 6e 65 73 |/device |routines|
|00000140| 2e 0d 0d 09 54 68 69 73 | 20 69 73 20 74 68 65 20 |....This| is the |
|00000150| 6d 61 69 6e 20 73 6f 75 | 72 63 65 20 66 69 6c 65 |main sou|rce file|
|00000160| 2c 20 63 6f 6e 74 61 69 | 6e 69 6e 67 20 74 68 65 |, contai|ning the|
|00000170| 20 70 72 69 76 61 74 65 | 20 64 65 66 69 6e 69 74 | private| definit|
|00000180| 69 6f 6e 73 20 61 6e 64 | 0d 09 63 6f 64 65 20 74 |ions and|..code t|
|00000190| 6f 20 69 6d 70 6c 65 6d | 65 6e 74 20 61 6c 6c 20 |o implem|ent all |
|000001a0| 74 68 65 20 6e 65 65 64 | 65 64 20 65 78 74 65 72 |the need|ed exter|
|000001b0| 6e 61 6c 20 61 6e 64 20 | 69 6e 74 65 72 6e 61 6c |nal and |internal|
|000001c0| 20 73 75 70 70 6f 72 74 | 20 66 75 6e 63 74 69 6f | support| functio|
|000001d0| 6e 73 2e 0d 0d 52 65 6c | 61 74 65 64 20 46 69 6c |ns...Rel|ated Fil|
|000001e0| 65 73 3a 0d 09 53 63 72 | 65 65 6e 55 74 69 6c 73 |es:..Scr|eenUtils|
|000001f0| 2e 68 09 2d 20 48 65 61 | 64 65 72 20 66 6f 72 20 |.h.- Hea|der for |
|00000200| 74 68 65 73 65 20 72 6f | 75 74 69 6e 65 73 0d 2d |these ro|utines.-|
|00000210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 41 75 |--------|-----.Au|
|00000260| 74 68 6f 72 3a 0d 09 45 | 64 75 61 72 64 20 5b 65 |thor:..E|duard [e|
|00000270| 73 70 5d 20 53 63 68 77 | 61 6e 0d 2d 2d 2d 2d 2d |sp] Schw|an.-----|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 66 72 6f 6d 20 |--------|-..from |
|000002d0| 50 65 72 73 69 73 74 65 | 6e 63 65 20 6f 66 20 56 |Persiste|nce of V|
|000002e0| 69 73 69 6f 6e 20 52 61 | 79 74 72 61 63 65 72 0d |ision Ra|ytracer.|
|000002f0| 09 43 6f 70 79 72 69 67 | 68 74 20 31 39 39 33 20 |.Copyrig|ht 1993 |
|00000300| 50 65 72 73 69 73 74 65 | 6e 63 65 20 6f 66 20 56 |Persiste|nce of V|
|00000310| 69 73 69 6f 6e 20 54 65 | 61 6d 0d 2d 2d 2d 2d 2d |ision Te|am.-----|
|00000320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 4e 4f 54 49 43 |--------|-..NOTIC|
|00000370| 45 3a 20 54 68 69 73 20 | 73 6f 75 72 63 65 20 63 |E: This |source c|
|00000380| 6f 64 65 20 66 69 6c 65 | 20 69 73 20 70 72 6f 76 |ode file| is prov|
|00000390| 69 64 65 64 20 73 6f 20 | 74 68 61 74 20 75 73 65 |ided so |that use|
|000003a0| 72 73 20 6d 61 79 20 65 | 78 70 65 72 69 6d 65 6e |rs may e|xperimen|
|000003b0| 74 0d 09 77 69 74 68 20 | 65 6e 68 61 6e 63 65 6d |t..with |enhancem|
|000003c0| 65 6e 74 73 20 74 6f 20 | 50 4f 56 2d 52 61 79 20 |ents to |POV-Ray |
|000003d0| 61 6e 64 20 74 6f 20 70 | 6f 72 74 20 74 68 65 20 |and to p|ort the |
|000003e0| 73 6f 66 74 77 61 72 65 | 20 74 6f 20 70 6c 61 74 |software| to plat|
|000003f0| 66 6f 72 6d 73 20 6f 74 | 68 65 72 20 0d 09 74 68 |forms ot|her ..th|
|00000400| 61 6e 20 74 68 6f 73 65 | 20 73 75 70 70 6f 72 74 |an those| support|
|00000410| 65 64 20 62 79 20 74 68 | 65 20 50 4f 56 2d 52 61 |ed by th|e POV-Ra|
|00000420| 79 20 54 65 61 6d 2e 20 | 20 54 68 65 72 65 20 61 |y Team. | There a|
|00000430| 72 65 20 73 74 72 69 63 | 74 20 72 75 6c 65 73 20 |re stric|t rules |
|00000440| 75 6e 64 65 72 0d 09 77 | 68 69 63 68 20 79 6f 75 |under..w|hich you|
|00000450| 20 61 72 65 20 70 65 72 | 6d 69 74 74 65 64 20 74 | are per|mitted t|
|00000460| 6f 20 75 73 65 20 74 68 | 69 73 20 66 69 6c 65 2e |o use th|is file.|
|00000470| 20 20 54 68 65 20 72 75 | 6c 65 73 20 61 72 65 20 | The ru|les are |
|00000480| 69 6e 20 74 68 65 20 66 | 69 6c 65 0d 09 6e 61 6d |in the f|ile..nam|
|00000490| 65 64 20 50 4f 56 4c 45 | 47 41 4c 2e 44 4f 43 20 |ed POVLE|GAL.DOC |
|000004a0| 77 68 69 63 68 20 73 68 | 6f 75 6c 64 20 62 65 20 |which sh|ould be |
|000004b0| 64 69 73 74 72 69 62 75 | 74 65 64 20 77 69 74 68 |distribu|ted with|
|000004c0| 20 74 68 69 73 20 66 69 | 6c 65 2e 20 49 66 20 0d | this fi|le. If .|
|000004d0| 09 50 4f 56 4c 45 47 41 | 4c 2e 44 4f 43 20 69 73 |.POVLEGA|L.DOC is|
|000004e0| 20 6e 6f 74 20 61 76 61 | 69 6c 61 62 6c 65 20 6f | not ava|ilable o|
|000004f0| 72 20 66 6f 72 20 6d 6f | 72 65 20 69 6e 66 6f 20 |r for mo|re info |
|00000500| 70 6c 65 61 73 65 20 63 | 6f 6e 74 61 63 74 20 74 |please c|ontact t|
|00000510| 68 65 20 50 4f 56 2d 52 | 61 79 0d 09 54 65 61 6d |he POV-R|ay..Team|
|00000520| 20 43 6f 6f 72 64 69 6e | 61 74 6f 72 20 62 79 20 | Coordin|ator by |
|00000530| 6c 65 61 76 69 6e 67 20 | 61 20 6d 65 73 73 61 67 |leaving |a messag|
|00000540| 65 20 69 6e 20 43 6f 6d | 70 75 53 65 72 76 65 27 |e in Com|puServe'|
|00000550| 73 20 47 72 61 70 68 69 | 63 73 20 44 65 76 65 6c |s Graphi|cs Devel|
|00000560| 6f 70 65 72 27 73 0d 09 | 46 6f 72 75 6d 2e 20 20 |oper's..|Forum. |
|00000570| 54 68 65 20 6c 61 74 65 | 73 74 20 76 65 72 73 69 |The late|st versi|
|00000580| 6f 6e 20 6f 66 20 50 4f | 56 2d 52 61 79 20 6d 61 |on of PO|V-Ray ma|
|00000590| 79 20 62 65 20 66 6f 75 | 6e 64 20 74 68 65 72 65 |y be fou|nd there|
|000005a0| 20 61 73 20 77 65 6c 6c | 2e 0d 0d 09 54 68 69 73 | as well|....This|
|000005b0| 20 70 72 6f 67 72 61 6d | 20 69 73 20 62 61 73 65 | program| is base|
|000005c0| 64 20 6f 6e 20 74 68 65 | 20 70 6f 70 75 6c 61 72 |d on the| popular|
|000005d0| 20 44 4b 42 20 72 61 79 | 74 72 61 63 65 72 20 76 | DKB ray|tracer v|
|000005e0| 65 72 73 69 6f 6e 20 32 | 2e 31 32 2e 0d 09 44 4b |ersion 2|.12...DK|
|000005f0| 42 54 72 61 63 65 20 77 | 61 73 20 6f 72 69 67 69 |BTrace w|as origi|
|00000600| 6e 61 6c 6c 79 20 77 72 | 69 74 74 65 6e 20 62 79 |nally wr|itten by|
|00000610| 20 44 61 76 69 64 20 4b | 2e 20 42 75 63 6b 2e 0d | David K|. Buck..|
|00000620| 09 44 4b 42 54 72 61 63 | 65 20 56 65 72 20 32 2e |.DKBTrac|e Ver 2.|
|00000630| 30 2d 32 2e 31 32 20 77 | 65 72 65 20 77 72 69 74 |0-2.12 w|ere writ|
|00000640| 74 65 6e 20 62 79 20 44 | 61 76 69 64 20 4b 2e 20 |ten by D|avid K. |
|00000650| 42 75 63 6b 20 26 20 41 | 61 72 6f 6e 20 41 2e 20 |Buck & A|aron A. |
|00000660| 43 6f 6c 6c 69 6e 73 2e | 0d 2d 2d 2d 2d 2d 2d 2d |Collins.|.-------|
|00000670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 0d | 4d 6f 72 65 20 49 6e 66 |-------.|More Inf|
|000006c0| 6f 3a 0d 09 54 68 69 73 | 20 4d 61 63 69 6e 74 6f |o:..This| Macinto|
|000006d0| 73 68 20 76 65 72 73 69 | 6f 6e 20 6f 66 20 50 4f |sh versi|on of PO|
|000006e0| 56 2d 52 61 79 20 77 61 | 73 20 63 72 65 61 74 65 |V-Ray wa|s create|
|000006f0| 64 20 61 6e 64 20 63 6f | 6d 70 69 6c 65 64 20 62 |d and co|mpiled b|
|00000700| 79 20 4a 69 6d 20 4e 69 | 74 63 68 61 6c 73 0d 09 |y Jim Ni|tchals..|
|00000710| 28 54 68 69 6e 6b 20 35 | 2e 30 29 20 61 6e 64 20 |(Think 5|.0) and |
|00000720| 45 64 75 61 72 64 20 53 | 63 68 77 61 6e 20 28 4d |Eduard S|chwan (M|
|00000730| 50 57 20 33 2e 32 29 2c | 20 62 61 73 65 64 20 28 |PW 3.2),| based (|
|00000740| 6c 6f 6f 73 65 6c 79 29 | 20 6f 6e 20 74 68 65 20 |loosely)| on the |
|00000750| 6f 72 69 67 69 6e 61 6c | 0d 09 70 6f 72 74 20 62 |original|..port b|
|00000760| 79 20 54 68 6f 6d 61 73 | 20 4f 6b 6b 65 6e 20 61 |y Thomas| Okken a|
|00000770| 6e 64 20 44 61 76 69 64 | 20 4c 69 63 68 74 6d 61 |nd David| Lichtma|
|00000780| 6e 2c 20 77 69 74 68 20 | 73 6f 6d 65 20 68 65 6c |n, with |some hel|
|00000790| 70 20 66 72 6f 6d 20 47 | 6c 65 6e 6e 20 53 75 67 |p from G|lenn Sug|
|000007a0| 64 65 6e 2e 0d 0d 09 46 | 6f 72 20 62 75 67 20 72 |den....F|or bug r|
|000007b0| 65 70 6f 72 74 73 20 72 | 65 67 61 72 64 69 6e 67 |eports r|egarding|
|000007c0| 20 74 68 65 20 4d 61 63 | 69 6e 74 6f 73 68 20 76 | the Mac|intosh v|
|000007d0| 65 72 73 69 6f 6e 2c 20 | 79 6f 75 20 73 68 6f 75 |ersion, |you shou|
|000007e0| 6c 64 20 63 6f 6e 74 61 | 63 74 3a 0d 09 45 64 75 |ld conta|ct:..Edu|
|000007f0| 61 72 64 20 5b 65 73 70 | 5d 20 53 63 68 77 61 6e |ard [esp|] Schwan|
|00000800| 0d 09 09 43 6f 6d 70 75 | 53 65 72 76 65 3a 20 37 |...Compu|Serve: 7|
|00000810| 31 35 31 33 2c 32 31 36 | 31 0d 09 09 49 6e 74 65 |1513,216|1...Inte|
|00000820| 72 6e 65 74 3a 20 6a 6c | 2e 74 65 63 68 40 61 70 |rnet: jl|.tech@ap|
|00000830| 70 6c 65 6c 69 6e 6b 2e | 61 70 70 6c 65 2e 63 6f |plelink.|apple.co|
|00000840| 6d 0d 09 09 41 70 70 6c | 65 4c 69 6e 6b 3a 20 6a |m...Appl|eLink: j|
|00000850| 6c 2e 74 65 63 68 0d 09 | 4a 69 6d 20 4e 69 74 63 |l.tech..|Jim Nitc|
|00000860| 68 61 6c 73 0d 09 09 43 | 6f 6d 70 75 73 65 72 76 |hals...C|ompuserv|
|00000870| 65 3a 20 37 33 31 31 37 | 2c 33 30 32 30 0d 09 09 |e: 73117|,3020...|
|00000880| 41 6d 65 72 69 63 61 20 | 4f 6e 6c 69 6e 65 3a 20 |America |Online: |
|00000890| 4a 49 4d 4e 38 0d 09 09 | 49 6e 74 65 72 6e 65 74 |JIMN8...|Internet|
|000008a0| 3a 20 6a 69 6d 6e 38 40 | 61 6f 6c 2e 63 6f 6d 20 |: jimn8@|aol.com |
|000008b0| 2d 6f 72 2d 20 6a 69 6d | 6e 38 40 61 70 70 6c 65 |-or- jim|n8@apple|
|000008c0| 6c 69 6e 6b 2e 61 70 70 | 6c 65 2e 63 6f 6d 0d 09 |link.app|le.com..|
|000008d0| 09 41 70 70 6c 65 4c 69 | 6e 6b 3a 20 4a 49 4d 4e |.AppleLi|nk: JIMN|
|000008e0| 38 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |8.------|--------|
|000008f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000930| 0d 43 68 61 6e 67 65 20 | 48 69 73 74 6f 72 79 3a |.Change |History:|
|00000940| 0d 09 39 32 30 38 32 36 | 09 5b 65 73 70 5d 09 43 |..920826|.[esp].C|
|00000950| 72 65 61 74 65 64 0d 09 | 39 32 30 39 30 33 09 5b |reated..|920903.[|
|00000960| 65 73 70 5d 09 4d 61 6a | 6f 72 20 63 6c 65 61 6e |esp].Maj|or clean|
|00000970| 75 70 20 74 6f 20 50 6f | 73 69 74 69 6f 6e 57 69 |up to Po|sitionWi|
|00000980| 6e 64 6f 77 0d 09 39 33 | 31 30 30 31 09 5b 65 73 |ndow..93|1001.[es|
|00000990| 70 5d 09 76 65 72 73 69 | 6f 6e 20 32 2e 30 20 66 |p].versi|on 2.0 f|
|000009a0| 69 6e 69 73 68 65 64 20 | 28 52 65 6c 65 61 73 65 |inished |(Release|
|000009b0| 64 20 6f 6e 20 31 30 2f | 34 2f 39 33 29 0d 09 39 |d on 10/|4/93)..9|
|000009c0| 33 31 30 30 36 09 5b 65 | 73 70 5d 09 46 69 78 65 |31006.[e|sp].Fixe|
|000009d0| 64 20 46 6f 72 63 65 52 | 65 63 74 4f 6e 53 63 72 |d ForceR|ectOnScr|
|000009e0| 65 65 6e 20 74 6f 20 6e | 6f 74 20 6c 65 74 20 77 |een to n|ot let w|
|000009f0| 69 6e 64 6f 77 20 64 61 | 6e 67 6c 65 20 6f 66 66 |indow da|ngle off|
|00000a00| 20 6c 6f 77 65 72 20 6c | 65 66 74 0d 3d 3d 3d 3d | lower l|eft.====|
|00000a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 2a 2f 0d 0d 2f |========|==.*/../|
|00000a60| 2a 20 4d 61 63 69 6e 74 | 6f 73 68 2d 73 70 65 63 |* Macint|osh-spec|
|00000a70| 69 66 69 63 20 68 65 61 | 64 65 72 73 20 2a 2f 0d |ific hea|ders */.|
|00000a80| 23 69 6e 63 6c 75 64 65 | 20 3c 54 79 70 65 73 2e |#include| <Types.|
|00000a90| 68 3e 0d 23 69 6e 63 6c | 75 64 65 20 3c 51 75 69 |h>.#incl|ude <Qui|
|00000aa0| 63 6b 44 72 61 77 2e 68 | 3e 0d 23 69 6e 63 6c 75 |ckDraw.h|>.#inclu|
|00000ab0| 64 65 20 3c 73 63 72 69 | 70 74 2e 68 3e 09 09 09 |de <scri|pt.h>...|
|00000ac0| 2f 2f 20 47 65 74 4d 42 | 61 72 48 65 69 67 68 74 |// GetMB|arHeight|
|00000ad0| 28 29 20 6f 6c 64 3f 0d | 23 69 6e 63 6c 75 64 65 |() old?.|#include|
|00000ae0| 20 3c 6d 65 6e 75 73 2e | 68 3e 09 09 09 2f 2f 20 | <menus.|h>...// |
|00000af0| 47 65 74 4d 42 61 72 48 | 65 69 67 68 74 28 29 0d |GetMBarH|eight().|
|00000b00| 23 69 6e 63 6c 75 64 65 | 20 3c 57 69 6e 64 6f 77 |#include| <Window|
|00000b10| 73 2e 68 3e 09 09 2f 2f | 20 4d 6f 76 65 57 69 6e |s.h>..//| MoveWin|
|00000b20| 64 6f 77 28 29 0d 0d 23 | 69 6e 63 6c 75 64 65 20 |dow()..#|include |
|00000b30| 22 53 63 72 65 65 6e 55 | 74 69 6c 73 2e 68 22 09 |"ScreenU|tils.h".|
|00000b40| 2f 2f 20 6f 75 72 20 64 | 65 66 73 0d 0d 2f 2f 20 |// our d|efs..// |
|00000b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 76 |========|======.v|
|00000b80| 6f 69 64 20 47 65 74 47 | 6c 6f 62 61 6c 57 69 6e |oid GetG|lobalWin|
|00000b90| 64 6f 77 52 65 63 74 28 | 57 69 6e 64 6f 77 50 74 |dowRect(|WindowPt|
|00000ba0| 72 20 74 68 65 57 69 6e | 64 6f 77 2c 20 52 65 63 |r theWin|dow, Rec|
|00000bb0| 74 20 2a 74 68 65 52 65 | 63 74 29 0d 7b 0d 09 52 |t *theRe|ct).{..R|
|00000bc0| 65 63 74 09 77 69 6e 64 | 52 65 63 74 3b 0d 0d 09 |ect.wind|Rect;...|
|00000bd0| 77 69 6e 64 52 65 63 74 | 20 3d 20 74 68 65 57 69 |windRect| = theWi|
|00000be0| 6e 64 6f 77 2d 3e 70 6f | 72 74 52 65 63 74 3b 0d |ndow->po|rtRect;.|
|00000bf0| 0d 09 2f 2f 20 79 61 68 | 2c 20 62 75 74 20 77 68 |..// yah|, but wh|
|00000c00| 65 72 65 20 69 73 20 69 | 74 20 72 65 61 6c 6c 79 |ere is i|t really|
|00000c10| 3f 0d 09 53 65 74 50 6f | 72 74 28 74 68 65 57 69 |?..SetPo|rt(theWi|
|00000c20| 6e 64 6f 77 29 3b 0d 09 | 4c 6f 63 61 6c 54 6f 47 |ndow);..|LocalToG|
|00000c30| 6c 6f 62 61 6c 28 28 50 | 6f 69 6e 74 2a 29 26 77 |lobal((P|oint*)&w|
|00000c40| 69 6e 64 52 65 63 74 2e | 74 6f 70 29 3b 0d 09 4c |indRect.|top);..L|
|00000c50| 6f 63 61 6c 54 6f 47 6c | 6f 62 61 6c 28 28 50 6f |ocalToGl|obal((Po|
|00000c60| 69 6e 74 2a 29 26 77 69 | 6e 64 52 65 63 74 2e 62 |int*)&wi|ndRect.b|
|00000c70| 6f 74 74 6f 6d 29 3b 0d | 0d 09 2a 74 68 65 52 65 |ottom);.|..*theRe|
|00000c80| 63 74 20 3d 20 77 69 6e | 64 52 65 63 74 3b 0d 7d |ct = win|dRect;.}|
|00000c90| 20 2f 2f 20 47 65 74 47 | 6c 6f 62 61 6c 57 69 6e | // GetG|lobalWin|
|00000ca0| 64 6f 77 52 65 63 74 0d | 0d 0d 2f 2f 20 3d 3d 3d |dowRect.|..// ===|
|00000cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000cd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 76 6f 69 64 |========|===.void|
|00000ce0| 20 46 6f 72 63 65 52 65 | 63 74 4f 6e 53 63 72 65 | ForceRe|ctOnScre|
|00000cf0| 65 6e 28 52 65 63 74 20 | 2a 61 47 6c 6f 62 61 6c |en(Rect |*aGlobal|
|00000d00| 52 65 63 74 29 0d 7b 0d | 09 6c 6f 6e 67 09 09 61 |Rect).{.|.long..a|
|00000d10| 72 65 61 3b 0d 09 6c 6f | 6e 67 09 09 66 6f 75 6e |rea;..lo|ng..foun|
|00000d20| 64 41 72 65 61 3b 0d 09 | 47 44 48 61 6e 64 6c 65 |dArea;..|GDHandle|
|00000d30| 09 61 44 65 76 69 63 65 | 3b 0d 09 47 44 48 61 6e |.aDevice|;..GDHan|
|00000d40| 64 6c 65 09 66 6f 75 6e | 64 44 65 76 69 63 65 3b |dle.foun|dDevice;|
|00000d50| 0d 09 52 65 63 74 09 09 | 61 44 65 76 69 63 65 52 |..Rect..|aDeviceR|
|00000d60| 65 63 74 3b 0d 09 52 65 | 63 74 09 09 66 6f 75 6e |ect;..Re|ct..foun|
|00000d70| 64 44 65 76 69 63 65 52 | 65 63 74 3b 0d 09 52 65 |dDeviceR|ect;..Re|
|00000d80| 63 74 09 09 69 6e 74 65 | 72 73 65 63 74 52 65 63 |ct..inte|rsectRec|
|00000d90| 74 3b 0d 0d 09 66 6f 72 | 20 28 61 44 65 76 69 63 |t;...for| (aDevic|
|00000da0| 65 20 3d 20 47 65 74 44 | 65 76 69 63 65 4c 69 73 |e = GetD|eviceLis|
|00000db0| 74 28 29 3b 20 61 44 65 | 76 69 63 65 20 21 3d 20 |t(); aDe|vice != |
|00000dc0| 4e 55 4c 4c 3b 20 61 44 | 65 76 69 63 65 20 3d 20 |NULL; aD|evice = |
|00000dd0| 47 65 74 4e 65 78 74 44 | 65 76 69 63 65 28 61 44 |GetNextD|evice(aD|
|00000de0| 65 76 69 63 65 29 29 0d | 09 7b 0d 09 09 2f 2a 20 |evice)).|.{.../* |
|00000df0| 49 66 20 77 65 20 66 6f | 75 6e 64 20 61 6e 20 61 |If we fo|und an a|
|00000e00| 63 74 69 76 65 20 73 63 | 72 65 65 6e 20 64 65 76 |ctive sc|reen dev|
|00000e10| 69 63 65 20 74 68 61 74 | 20 69 6e 74 65 72 73 65 |ice that| interse|
|00000e20| 63 74 73 20 73 6f 6d 65 | 20 6f 66 20 74 68 65 20 |cts some| of the |
|00000e30| 72 65 63 74 2e 2e 20 2a | 2f 0d 09 09 61 44 65 76 |rect.. *|/...aDev|
|00000e40| 69 63 65 52 65 63 74 20 | 3d 20 28 2a 2a 61 44 65 |iceRect |= (**aDe|
|00000e50| 76 69 63 65 29 2e 67 64 | 52 65 63 74 3b 0d 0d 09 |vice).gd|Rect;...|
|00000e60| 09 2f 2a 20 53 65 65 20 | 69 66 20 69 74 73 20 74 |./* See |if its t|
|00000e70| 68 65 20 6d 61 69 6e 20 | 73 63 72 65 65 6e 2e 20 |he main |screen. |
|00000e80| 20 49 66 20 73 6f 2c 20 | 74 61 6b 65 20 6d 65 6e | If so, |take men|
|00000e90| 75 20 62 61 72 20 69 6e | 74 6f 20 61 63 63 6f 75 |u bar in|to accou|
|00000ea0| 6e 74 21 20 2a 2f 0d 09 | 09 69 66 20 28 20 28 2a |nt! */..|.if ( (*|
|00000eb0| 2a 61 44 65 76 69 63 65 | 29 2e 67 64 46 6c 61 67 |*aDevice|).gdFlag|
|00000ec0| 73 20 26 20 28 31 3c 3c | 6d 61 69 6e 53 63 72 65 |s & (1<<|mainScre|
|00000ed0| 65 6e 29 20 29 0d 09 09 | 7b 0d 09 09 09 61 44 65 |en) )...|{....aDe|
|00000ee0| 76 69 63 65 52 65 63 74 | 2e 74 6f 70 20 2b 3d 20 |viceRect|.top += |
|00000ef0| 47 65 74 4d 42 61 72 48 | 65 69 67 68 74 28 29 3b |GetMBarH|eight();|
|00000f00| 0d 09 09 09 2f 2a 20 61 | 6c 73 6f 20 69 6e 69 74 |..../* a|lso init|
|00000f10| 69 61 6c 69 7a 65 20 74 | 68 65 20 66 6f 75 6e 64 |ialize t|he found|
|00000f20| 20 64 65 76 69 63 65 20 | 74 6f 20 6d 61 69 6e 20 | device |to main |
|00000f30| 64 65 76 69 63 65 20 2a | 2f 0d 09 09 09 2f 2a 20 |device *|/..../* |
|00000f40| 69 6e 20 63 61 73 65 20 | 6e 6f 6e 65 20 66 6f 75 |in case |none fou|
|00000f50| 6e 64 2c 20 77 65 20 64 | 65 66 61 75 6c 74 20 74 |nd, we d|efault t|
|00000f60| 6f 20 6d 61 69 6e 20 64 | 65 76 69 63 65 20 2a 2f |o main d|evice */|
|00000f70| 0d 09 09 09 66 6f 75 6e | 64 44 65 76 69 63 65 20 |....foun|dDevice |
|00000f80| 3d 20 61 44 65 76 69 63 | 65 3b 0d 09 09 09 66 6f |= aDevic|e;....fo|
|00000f90| 75 6e 64 44 65 76 69 63 | 65 52 65 63 74 20 3d 20 |undDevic|eRect = |
|00000fa0| 61 44 65 76 69 63 65 52 | 65 63 74 3b 0d 09 09 09 |aDeviceR|ect;....|
|00000fb0| 66 6f 75 6e 64 41 72 65 | 61 20 3d 20 30 3b 0d 09 |foundAre|a = 0;..|
|00000fc0| 09 7d 0d 0d 09 09 2f 2a | 20 69 66 20 69 74 20 69 |.}..../*| if it i|
|00000fd0| 73 20 61 6e 20 61 63 74 | 69 76 65 20 73 63 72 65 |s an act|ive scre|
|00000fe0| 65 6e 2e 2e 2e 20 2a 2f | 0d 09 09 69 66 20 28 54 |en... */|...if (T|
|00000ff0| 65 73 74 44 65 76 69 63 | 65 41 74 74 72 69 62 75 |estDevic|eAttribu|
|00001000| 74 65 28 61 44 65 76 69 | 63 65 2c 20 73 63 72 65 |te(aDevi|ce, scre|
|00001010| 65 6e 44 65 76 69 63 65 | 29 0d 09 09 09 26 26 20 |enDevice|)....&& |
|00001020| 54 65 73 74 44 65 76 69 | 63 65 41 74 74 72 69 62 |TestDevi|ceAttrib|
|00001030| 75 74 65 28 61 44 65 76 | 69 63 65 2c 20 73 63 72 |ute(aDev|ice, scr|
|00001040| 65 65 6e 41 63 74 69 76 | 65 29 0d 09 09 09 26 26 |eenActiv|e)....&&|
|00001050| 20 53 65 63 74 52 65 63 | 74 28 61 47 6c 6f 62 61 | SectRec|t(aGloba|
|00001060| 6c 52 65 63 74 2c 20 26 | 61 44 65 76 69 63 65 52 |lRect, &|aDeviceR|
|00001070| 65 63 74 2c 20 26 69 6e | 74 65 72 73 65 63 74 52 |ect, &in|tersectR|
|00001080| 65 63 74 29 29 0d 09 09 | 7b 0d 09 09 09 2f 2a 20 |ect))...|{..../* |
|00001090| 66 69 6e 64 20 6f 75 74 | 20 68 6f 77 20 6d 75 63 |find out| how muc|
|000010a0| 68 20 69 74 20 69 6e 74 | 65 72 73 65 63 74 73 20 |h it int|ersects |
|000010b0| 2a 2f 0d 09 09 09 61 72 | 65 61 20 3d 20 28 28 6c |*/....ar|ea = ((l|
|000010c0| 6f 6e 67 29 69 6e 74 65 | 72 73 65 63 74 52 65 63 |ong)inte|rsectRec|
|000010d0| 74 2e 72 69 67 68 74 20 | 20 2d 20 28 6c 6f 6e 67 |t.right | - (long|
|000010e0| 29 69 6e 74 65 72 73 65 | 63 74 52 65 63 74 2e 6c |)interse|ctRect.l|
|000010f0| 65 66 74 29 20 2a 0d 09 | 09 09 09 20 20 20 28 28 |eft) *..|... ((|
|00001100| 6c 6f 6e 67 29 69 6e 74 | 65 72 73 65 63 74 52 65 |long)int|ersectRe|
|00001110| 63 74 2e 62 6f 74 74 6f | 6d 20 2d 20 28 6c 6f 6e |ct.botto|m - (lon|
|00001120| 67 29 69 6e 74 65 72 73 | 65 63 74 52 65 63 74 2e |g)inters|ectRect.|
|00001130| 74 6f 70 29 3b 0d 09 09 | 09 2f 2a 20 69 66 20 69 |top);...|./* if i|
|00001140| 6e 74 65 72 73 65 63 74 | 73 20 6d 6f 72 65 20 74 |ntersect|s more t|
|00001150| 68 61 6e 20 74 68 65 20 | 6c 61 73 74 20 64 65 76 |han the |last dev|
|00001160| 69 63 65 20 6f 66 20 69 | 6e 74 65 72 73 65 63 74 |ice of i|ntersect|
|00001170| 69 6f 6e 2c 20 75 73 65 | 20 74 68 69 73 20 69 6e |ion, use| this in|
|00001180| 73 74 65 61 64 20 2a 2f | 0d 09 09 09 2f 2a 20 74 |stead */|..../* t|
|00001190| 68 69 73 20 74 68 65 72 | 65 66 6f 72 65 20 66 69 |his ther|efore fi|
|000011a0| 6e 64 73 20 74 68 65 20 | 73 63 72 65 65 6e 20 6f |nds the |screen o|
|000011b0| 66 20 67 72 65 61 74 65 | 73 74 20 69 6e 74 65 72 |f greate|st inter|
|000011c0| 73 65 63 74 69 6f 6e 2e | 20 2a 2f 0d 09 09 09 69 |section.| */....i|
|000011d0| 66 20 28 61 72 65 61 20 | 3e 20 66 6f 75 6e 64 41 |f (area |> foundA|
|000011e0| 72 65 61 29 0d 09 09 09 | 7b 0d 09 09 09 09 66 6f |rea)....|{.....fo|
|000011f0| 75 6e 64 44 65 76 69 63 | 65 20 3d 20 61 44 65 76 |undDevic|e = aDev|
|00001200| 69 63 65 3b 0d 09 09 09 | 09 66 6f 75 6e 64 44 65 |ice;....|.foundDe|
|00001210| 76 69 63 65 52 65 63 74 | 20 3d 20 61 44 65 76 69 |viceRect| = aDevi|
|00001220| 63 65 52 65 63 74 3b 0d | 09 09 09 09 66 6f 75 6e |ceRect;.|....foun|
|00001230| 64 41 72 65 61 20 3d 20 | 61 72 65 61 3b 0d 09 09 |dArea = |area;...|
|00001240| 09 7d 0d 09 09 7d 0d 09 | 7d 0d 0d 09 2f 2a 20 4f |.}...}..|}.../* O|
|00001250| 4b 2c 20 77 65 20 68 61 | 76 65 20 6e 6f 77 20 74 |K, we ha|ve now t|
|00001260| 72 61 76 65 6c 6c 65 64 | 20 74 68 72 6f 75 67 68 |ravelled| through|
|00001270| 20 61 6c 6c 20 74 68 65 | 20 64 65 76 69 63 65 73 | all the| devices|
|00001280| 2c 20 61 6e 64 20 27 66 | 6f 75 6e 64 44 65 76 69 |, and 'f|oundDevi|
|00001290| 63 65 27 20 2a 2f 0d 09 | 2f 2a 20 77 69 6c 6c 20 |ce' */..|/* will |
|000012a0| 68 61 76 65 20 74 68 65 | 20 62 65 73 74 20 64 65 |have the| best de|
|000012b0| 76 69 63 65 20 74 6f 20 | 75 73 65 2c 20 6f 72 20 |vice to |use, or |
|000012c0| 74 68 65 20 6d 61 69 6e | 20 64 65 76 69 63 65 20 |the main| device |
|000012d0| 69 66 20 74 68 65 72 65 | 20 77 65 72 65 09 2a 2f |if there| were.*/|
|000012e0| 0d 09 2f 2a 20 6e 6f 20 | 69 6e 74 65 72 73 65 63 |../* no |intersec|
|000012f0| 74 69 6e 67 20 73 63 72 | 65 65 6e 73 20 61 74 20 |ting scr|eens at |
|00001300| 61 6c 6c 2e 2e 20 4d 61 | 6b 65 20 73 75 72 65 20 |all.. Ma|ke sure |
|00001310| 69 74 20 66 69 74 73 20 | 6f 6e 20 74 68 65 20 73 |it fits |on the s|
|00001320| 63 72 65 65 6e 09 09 2a | 2f 0d 0d 09 2f 2a 20 49 |creen..*|/.../* I|
|00001330| 66 20 74 68 65 72 65 20 | 69 73 20 6e 6f 74 20 65 |f there |is not e|
|00001340| 6e 6f 75 67 68 20 61 72 | 65 61 20 73 68 6f 77 69 |nough ar|ea showi|
|00001350| 6e 67 2c 20 74 68 65 6e | 20 6d 6f 76 65 20 74 68 |ng, then| move th|
|00001360| 65 20 77 69 6e 64 6f 77 | 20 74 6f 20 62 65 74 74 |e window| to bett|
|00001370| 65 72 09 2a 2f 0d 09 2f | 2a 20 70 6f 73 69 74 69 |er.*/../|* positi|
|00001380| 6f 6e 20 6f 6e 20 27 66 | 6f 75 6e 64 44 65 76 69 |on on 'f|oundDevi|
|00001390| 63 65 27 20 28 31 36 30 | 30 20 69 73 20 77 69 64 |ce' (160|0 is wid|
|000013a0| 74 68 3c 34 30 3e 20 58 | 20 68 65 69 67 68 74 3c |th<40> X| height<|
|000013b0| 34 30 3e 20 70 69 78 65 | 6c 73 29 2e 09 2a 2f 0d |40> pixe|ls)..*/.|
|000013c0| 09 2f 2a 20 41 6c 73 6f | 20 64 6f 20 74 68 69 73 |./* Also| do this|
|000013d0| 20 69 66 20 74 68 65 20 | 74 6f 70 20 6f 66 20 74 | if the |top of t|
|000013e0| 68 65 20 77 69 6e 64 6f | 77 20 28 6d 69 6e 75 73 |he windo|w (minus|
|000013f0| 20 31 38 20 66 6f 72 20 | 74 68 65 20 74 69 74 6c | 18 for |the titl|
|00001400| 65 20 62 61 72 29 09 2a | 2f 0d 09 2f 2a 20 65 78 |e bar).*|/../* ex|
|00001410| 74 65 6e 64 73 20 61 62 | 6f 76 65 20 74 68 65 20 |tends ab|ove the |
|00001420| 74 6f 70 20 6f 66 20 74 | 68 65 20 77 69 6e 64 6f |top of t|he windo|
|00001430| 77 20 28 75 73 65 72 20 | 63 61 6e 27 74 20 67 65 |w (user |can't ge|
|00001440| 74 20 61 68 6f 6c 64 20 | 6f 66 20 69 74 2e 29 09 |t ahold |of it.).|
|00001450| 2a 2f 0d 09 69 66 20 28 | 20 28 66 6f 75 6e 64 41 |*/..if (| (foundA|
|00001460| 72 65 61 20 3c 20 31 36 | 30 30 29 20 7c 7c 20 28 |rea < 16|00) || (|
|00001470| 28 61 47 6c 6f 62 61 6c | 52 65 63 74 2d 3e 74 6f |(aGlobal|Rect->to|
|00001480| 70 2d 31 38 29 20 3c 20 | 66 6f 75 6e 64 44 65 76 |p-18) < |foundDev|
|00001490| 69 63 65 52 65 63 74 2e | 74 6f 70 29 20 29 0d 09 |iceRect.|top) )..|
|000014a0| 7b 0d 09 09 2f 2a 20 6f | 66 66 73 65 74 20 69 74 |{.../* o|ffset it|
|000014b0| 73 20 75 70 70 65 72 20 | 6c 65 66 74 20 63 6f 72 |s upper |left cor|
|000014c0| 6e 65 72 20 61 20 6c 69 | 74 74 6c 65 20 66 72 6f |ner a li|ttle fro|
|000014d0| 6d 20 74 6f 70 20 6f 66 | 20 73 63 72 65 65 6e 20 |m top of| screen |
|000014e0| 2a 2f 0d 09 09 61 44 65 | 76 69 63 65 52 65 63 74 |*/...aDe|viceRect|
|000014f0| 20 3d 20 66 6f 75 6e 64 | 44 65 76 69 63 65 52 65 | = found|DeviceRe|
|00001500| 63 74 3b 0d 09 09 4f 66 | 66 73 65 74 52 65 63 74 |ct;...Of|fsetRect|
|00001510| 28 26 61 44 65 76 69 63 | 65 52 65 63 74 2c 20 34 |(&aDevic|eRect, 4|
|00001520| 2c 20 31 38 2b 34 29 3b | 0d 0d 09 09 2f 2a 20 66 |, 18+4);|..../* f|
|00001530| 69 67 75 72 65 20 6f 75 | 74 20 77 68 61 74 20 69 |igure ou|t what i|
|00001540| 74 73 20 6c 6f 77 65 72 | 20 6c 65 66 74 20 63 6f |ts lower| left co|
|00001550| 72 6e 65 72 20 77 6f 75 | 6c 64 20 62 65 20 2a 2f |rner wou|ld be */|
|00001560| 0d 09 09 61 44 65 76 69 | 63 65 52 65 63 74 2e 72 |...aDevi|ceRect.r|
|00001570| 69 67 68 74 20 3d 20 61 | 44 65 76 69 63 65 52 65 |ight = a|DeviceRe|
|00001580| 63 74 2e 6c 65 66 74 20 | 2b 20 28 61 47 6c 6f 62 |ct.left |+ (aGlob|
|00001590| 61 6c 52 65 63 74 2d 3e | 72 69 67 68 74 20 2d 20 |alRect->|right - |
|000015a0| 61 47 6c 6f 62 61 6c 52 | 65 63 74 2d 3e 6c 65 66 |aGlobalR|ect->lef|
|000015b0| 74 29 3b 0d 09 09 61 44 | 65 76 69 63 65 52 65 63 |t);...aD|eviceRec|
|000015c0| 74 2e 62 6f 74 74 6f 6d | 20 3d 20 61 44 65 76 69 |t.bottom| = aDevi|
|000015d0| 63 65 52 65 63 74 2e 74 | 6f 70 20 2b 20 28 61 47 |ceRect.t|op + (aG|
|000015e0| 6c 6f 62 61 6c 52 65 63 | 74 2d 3e 62 6f 74 74 6f |lobalRec|t->botto|
|000015f0| 6d 20 2d 20 61 47 6c 6f | 62 61 6c 52 65 63 74 2d |m - aGlo|balRect-|
|00001600| 3e 74 6f 70 29 3b 0d 0d | 09 09 2f 2a 20 52 65 74 |>top);..|../* Ret|
|00001610| 75 72 6e 20 74 68 69 73 | 20 72 65 63 74 20 61 73 |urn this| rect as|
|00001620| 20 74 68 65 20 6f 6e 65 | 20 74 6f 20 75 73 65 20 | the one| to use |
|00001630| 2a 2f 0d 09 09 2a 61 47 | 6c 6f 62 61 6c 52 65 63 |*/...*aG|lobalRec|
|00001640| 74 20 3d 20 61 44 65 76 | 69 63 65 52 65 63 74 3b |t = aDev|iceRect;|
|00001650| 0d 09 7d 0d 0d 09 2f 2a | 20 49 66 20 72 65 63 74 |..}.../*| If rect|
|00001660| 20 62 6f 74 74 6f 6d 2f | 72 69 67 68 74 20 73 69 | bottom/|right si|
|00001670| 64 65 73 20 61 72 65 20 | 73 74 69 6c 6c 20 6f 66 |des are |still of|
|00001680| 66 20 74 68 65 20 73 63 | 72 65 65 6e 2c 20 69 6e |f the sc|reen, in|
|00001690| 73 65 74 20 74 68 65 6d | 20 74 6f 20 66 69 74 20 |set them| to fit |
|000016a0| 2a 2f 0d 09 69 66 09 28 | 61 47 6c 6f 62 61 6c 52 |*/..if.(|aGlobalR|
|000016b0| 65 63 74 2d 3e 72 69 67 | 68 74 20 3e 20 66 6f 75 |ect->rig|ht > fou|
|000016c0| 6e 64 44 65 76 69 63 65 | 52 65 63 74 2e 72 69 67 |ndDevice|Rect.rig|
|000016d0| 68 74 29 0d 09 09 61 47 | 6c 6f 62 61 6c 52 65 63 |ht)...aG|lobalRec|
|000016e0| 74 2d 3e 72 69 67 68 74 | 20 3d 20 66 6f 75 6e 64 |t->right| = found|
|000016f0| 44 65 76 69 63 65 52 65 | 63 74 2e 72 69 67 68 74 |DeviceRe|ct.right|
|00001700| 2d 34 3b 0d 09 69 66 09 | 28 61 47 6c 6f 62 61 6c |-4;..if.|(aGlobal|
|00001710| 52 65 63 74 2d 3e 62 6f | 74 74 6f 6d 20 3e 20 66 |Rect->bo|ttom > f|
|00001720| 6f 75 6e 64 44 65 76 69 | 63 65 52 65 63 74 2e 62 |oundDevi|ceRect.b|
|00001730| 6f 74 74 6f 6d 29 0d 09 | 09 61 47 6c 6f 62 61 6c |ottom)..|.aGlobal|
|00001740| 52 65 63 74 2d 3e 62 6f | 74 74 6f 6d 20 3d 20 66 |Rect->bo|ttom = f|
|00001750| 6f 75 6e 64 44 65 76 69 | 63 65 52 65 63 74 2e 62 |oundDevi|ceRect.b|
|00001760| 6f 74 74 6f 6d 2d 34 3b | 0d 0d 7d 20 2f 2f 20 46 |ottom-4;|..} // F|
|00001770| 6f 72 63 65 52 65 63 74 | 4f 6e 53 63 72 65 65 6e |orceRect|OnScreen|
|00001780| 0d 0d 0d 2f 2f 20 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...// ==|========|
|00001790| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000017a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000017b0| 3d 3d 3d 3d 0d 2f 2f 20 | 4e 6f 74 65 20 74 68 61 |====.// |Note tha|
|000017c0| 74 20 74 68 69 73 20 72 | 6f 75 74 69 6e 65 20 61 |t this r|outine a|
|000017d0| 6e 64 20 46 6f 72 63 65 | 52 65 63 74 4f 6e 53 63 |nd Force|RectOnSc|
|000017e0| 72 65 65 6e 28 29 20 73 | 68 6f 75 6c 64 20 62 65 |reen() s|hould be|
|000017f0| 20 73 68 61 72 69 6e 67 | 20 63 6f 64 65 2e 2e 20 | sharing| code.. |
|00001800| 6c 61 74 65 72 2e 0d 47 | 44 48 61 6e 64 6c 65 20 |later..G|DHandle |
|00001810| 47 65 74 43 6c 6f 73 65 | 73 74 47 44 65 76 69 63 |GetClose|stGDevic|
|00001820| 65 28 63 6f 6e 73 74 20 | 52 65 63 74 20 2a 20 73 |e(const |Rect * s|
|00001830| 6f 75 72 63 65 52 65 63 | 74 70 29 0d 7b 0d 09 47 |ourceRec|tp).{..G|
|00001840| 44 48 61 6e 64 6c 65 09 | 74 68 65 47 44 65 76 69 |DHandle.|theGDevi|
|00001850| 63 65 3b 0d 0d 09 2f 2f | 20 66 69 6e 64 20 6d 61 |ce;...//| find ma|
|00001860| 78 20 64 65 76 69 63 65 | 20 74 68 69 73 20 72 65 |x device| this re|
|00001870| 63 74 20 69 6e 74 65 72 | 73 65 63 74 73 0d 09 74 |ct inter|sects..t|
|00001880| 68 65 47 44 65 76 69 63 | 65 20 3d 20 47 65 74 4d |heGDevic|e = GetM|
|00001890| 61 78 44 65 76 69 63 65 | 28 73 6f 75 72 63 65 52 |axDevice|(sourceR|
|000018a0| 65 63 74 70 29 3b 0d 09 | 69 66 20 28 74 68 65 47 |ectp);..|if (theG|
|000018b0| 44 65 76 69 63 65 20 3d | 3d 20 4e 55 4c 4c 29 0d |Device =|= NULL).|
|000018c0| 09 7b 09 2f 2f 20 64 69 | 64 6e 27 74 20 77 6f 72 |.{.// di|dn't wor|
|000018d0| 6b 20 66 6f 72 20 73 6f | 6d 65 20 72 65 61 73 6f |k for so|me reaso|
|000018e0| 6e 2c 20 67 65 74 20 74 | 68 65 20 72 65 67 75 6c |n, get t|he regul|
|000018f0| 61 72 20 73 63 72 65 65 | 6e 0d 09 09 74 68 65 47 |ar scree|n...theG|
|00001900| 44 65 76 69 63 65 20 3d | 20 47 65 74 4d 61 69 6e |Device =| GetMain|
|00001910| 44 65 76 69 63 65 28 29 | 3b 0d 09 7d 0d 0d 09 72 |Device()|;..}...r|
|00001920| 65 74 75 72 6e 20 74 68 | 65 47 44 65 76 69 63 65 |eturn th|eGDevice|
|00001930| 3b 0d 0d 7d 20 2f 2f 20 | 47 65 74 43 6c 6f 73 65 |;..} // |GetClose|
|00001940| 73 74 47 44 65 76 69 63 | 65 0d 0d 0d 2f 2f 20 3d |stGDevic|e...// =|
|00001950| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001960| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001970| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 76 6f |========|=====.vo|
|00001980| 69 64 20 47 65 74 4d 61 | 78 47 72 6f 77 52 65 63 |id GetMa|xGrowRec|
|00001990| 74 28 57 69 6e 64 6f 77 | 50 74 72 20 77 69 6e 64 |t(Window|Ptr wind|
|000019a0| 32 47 72 6f 77 2c 20 52 | 65 63 74 20 2a 20 67 72 |2Grow, R|ect * gr|
|000019b0| 6f 77 52 65 63 74 70 29 | 0d 7b 0d 09 52 65 63 74 |owRectp)|.{..Rect|
|000019c0| 20 09 09 72 77 2c 20 72 | 73 3b 0d 09 47 44 48 61 | ..rw, r|s;..GDHa|
|000019d0| 6e 64 6c 65 09 74 68 65 | 47 44 65 76 69 63 65 3b |ndle.the|GDevice;|
|000019e0| 0d 0d 09 2f 2f 20 66 69 | 6e 64 20 74 72 75 65 2f |...// fi|nd true/|
|000019f0| 67 6c 6f 62 61 6c 20 77 | 69 6e 64 6f 77 20 70 6f |global w|indow po|
|00001a00| 73 2e 0d 09 47 65 74 47 | 6c 6f 62 61 6c 57 69 6e |s...GetG|lobalWin|
|00001a10| 64 6f 77 52 65 63 74 28 | 77 69 6e 64 32 47 72 6f |dowRect(|wind2Gro|
|00001a20| 77 2c 20 26 72 77 29 3b | 0d 09 2f 2f 20 6d 61 6b |w, &rw);|..// mak|
|00001a30| 65 20 61 20 74 65 65 6e | 79 20 72 65 63 74 20 61 |e a teen|y rect a|
|00001a40| 74 20 74 68 65 20 6d 6f | 75 73 65 20 70 6f 73 2c |t the mo|use pos,|
|00001a50| 20 73 6f 20 77 65 20 63 | 61 6e 0d 09 2f 2f 20 66 | so we c|an..// f|
|00001a60| 69 6e 64 20 74 68 65 20 | 47 44 65 76 69 63 65 20 |ind the |GDevice |
|00001a70| 61 74 20 74 68 69 73 20 | 70 6f 69 6e 74 0d 09 72 |at this |point..r|
|00001a80| 73 20 3d 20 72 77 3b 0d | 09 72 73 2e 6c 65 66 74 |s = rw;.|.rs.left|
|00001a90| 20 3d 20 72 73 2e 72 69 | 67 68 74 2d 31 3b 0d 09 | = rs.ri|ght-1;..|
|00001aa0| 72 73 2e 74 6f 70 20 3d | 20 72 73 2e 62 6f 74 74 |rs.top =| rs.bott|
|00001ab0| 6f 6d 2d 31 3b 0d 09 74 | 68 65 47 44 65 76 69 63 |om-1;..t|heGDevic|
|00001ac0| 65 20 3d 20 47 65 74 43 | 6c 6f 73 65 73 74 47 44 |e = GetC|losestGD|
|00001ad0| 65 76 69 63 65 28 26 72 | 73 29 3b 0d 09 2f 2f 20 |evice(&r|s);..// |
|00001ae0| 6e 6f 77 20 66 69 6e 64 | 20 74 68 65 20 72 65 63 |now find| the rec|
|00001af0| 74 20 62 6f 75 6e 64 73 | 20 6f 66 20 74 68 65 20 |t bounds| of the |
|00001b00| 73 63 72 65 65 6e 20 74 | 68 61 74 20 74 68 65 20 |screen t|hat the |
|00001b10| 67 72 6f 77 20 62 6f 78 | 20 69 73 20 6f 6e 0d 09 |grow box| is on..|
|00001b20| 72 73 20 3d 20 28 2a 2a | 74 68 65 47 44 65 76 69 |rs = (**|theGDevi|
|00001b30| 63 65 29 2e 67 64 52 65 | 63 74 3b 0d 09 2f 2f 20 |ce).gdRe|ct;..// |
|00001b40| 73 65 74 20 6d 61 78 20 | 73 69 7a 65 20 61 6c 6c |set max |size all|
|00001b50| 6f 77 65 64 20 28 75 70 | 70 65 72 20 63 6f 72 6e |owed (up|per corn|
|00001b60| 65 72 20 6f 66 20 77 69 | 6e 64 6f 77 20 74 6f 20 |er of wi|ndow to |
|00001b70| 62 6f 74 74 6f 6d 20 63 | 6f 72 6e 65 72 20 6f 66 |bottom c|orner of|
|00001b80| 20 73 63 72 65 65 6e 29 | 0d 09 2f 2f 20 74 68 69 | screen)|..// thi|
|00001b90| 73 20 61 6c 6c 6f 77 73 | 20 74 68 65 20 77 69 6e |s allows| the win|
|00001ba0| 64 6f 77 20 74 6f 20 67 | 72 6f 77 20 6a 75 73 74 |dow to g|row just|
|00001bb0| 20 74 6f 20 74 68 65 20 | 62 6f 74 74 6f 6d 20 63 | to the |bottom c|
|00001bc0| 6f 72 6e 65 72 20 6f 66 | 20 74 68 65 20 73 63 72 |orner of| the scr|
|00001bd0| 65 65 6e 0d 09 72 77 2e | 72 69 67 68 74 09 3d 20 |een..rw.|right.= |
|00001be0| 72 73 2e 72 69 67 68 74 | 20 2d 20 72 77 2e 6c 65 |rs.right| - rw.le|
|00001bf0| 66 74 20 2d 20 34 3b 0d | 09 72 77 2e 62 6f 74 74 |ft - 4;.|.rw.bott|
|00001c00| 6f 6d 09 3d 20 72 73 2e | 62 6f 74 74 6f 6d 20 2d |om.= rs.|bottom -|
|00001c10| 20 72 77 2e 74 6f 70 20 | 2d 20 34 3b 0d 09 2f 2f | rw.top |- 4;..//|
|00001c20| 20 73 65 74 20 6d 69 6e | 69 6d 75 6d 20 73 69 7a | set min|imum siz|
|00001c30| 65 20 61 6c 6c 6f 77 65 | 64 0d 09 72 77 2e 6c 65 |e allowe|d..rw.le|
|00001c40| 66 74 09 09 3d 20 34 30 | 3b 0d 09 72 77 2e 74 6f |ft..= 40|;..rw.to|
|00001c50| 70 09 09 3d 20 34 30 3b | 0d 09 2f 2f 20 6c 65 74 |p..= 40;|..// let|
|00001c60| 20 63 61 6c 6c 65 72 20 | 6b 6e 6f 77 20 77 68 61 | caller |know wha|
|00001c70| 74 20 77 65 20 66 69 6e | 61 6c 6c 79 20 64 65 63 |t we fin|ally dec|
|00001c80| 69 64 65 64 20 6f 6e 0d | 09 2a 67 72 6f 77 52 65 |ided on.|.*growRe|
|00001c90| 63 74 70 09 3d 20 72 77 | 3b 0d 7d 20 2f 2f 20 47 |ctp.= rw|;.} // G|
|00001ca0| 65 74 4d 61 78 47 72 6f | 77 52 65 63 74 0d 0d 0d |etMaxGro|wRect...|
|00001cb0| 2f 2f 20 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |// =====|========|
|00001cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001cd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001ce0| 3d 0d 76 6f 69 64 20 43 | 65 6e 74 65 72 57 69 6e |=.void C|enterWin|
|00001cf0| 64 49 6e 52 65 63 74 28 | 57 69 6e 64 6f 77 50 74 |dInRect(|WindowPt|
|00001d00| 72 09 77 69 6e 64 32 43 | 65 6e 74 65 72 2c 20 52 |r.wind2C|enter, R|
|00001d10| 65 63 74 20 6f 75 74 65 | 72 52 65 63 74 29 0d 7b |ect oute|rRect).{|
|00001d20| 0d 09 73 68 6f 72 74 09 | 78 2c 20 79 3b 0d 09 52 |..short.|x, y;..R|
|00001d30| 65 63 74 09 77 69 6e 64 | 52 65 63 74 3b 0d 0d 09 |ect.wind|Rect;...|
|00001d40| 2f 2f 20 66 69 67 75 72 | 65 20 63 65 6e 74 65 72 |// figur|e center|
|00001d50| 20 6f 66 20 6f 75 74 65 | 72 20 72 65 63 74 0d 09 | of oute|r rect..|
|00001d60| 78 20 3d 20 28 6f 75 74 | 65 72 52 65 63 74 2e 6c |x = (out|erRect.l|
|00001d70| 65 66 74 20 2b 20 6f 75 | 74 65 72 52 65 63 74 2e |eft + ou|terRect.|
|00001d80| 72 69 67 68 74 29 20 20 | 3e 3e 20 31 3b 0d 09 79 |right) |>> 1;..y|
|00001d90| 20 3d 20 28 6f 75 74 65 | 72 52 65 63 74 2e 74 6f | = (oute|rRect.to|
|00001da0| 70 20 20 2b 20 6f 75 74 | 65 72 52 65 63 74 2e 62 |p + out|erRect.b|
|00001db0| 6f 74 74 6f 6d 29 20 3e | 3e 20 31 3b 0d 0d 09 2f |ottom) >|> 1;.../|
|00001dc0| 2f 20 66 69 67 75 72 65 | 20 6f 75 74 20 77 69 6e |/ figure| out win|
|00001dd0| 64 6f 77 27 73 20 72 65 | 63 74 0d 09 47 65 74 47 |dow's re|ct..GetG|
|00001de0| 6c 6f 62 61 6c 57 69 6e | 64 6f 77 52 65 63 74 28 |lobalWin|dowRect(|
|00001df0| 77 69 6e 64 32 43 65 6e | 74 65 72 2c 20 26 77 69 |wind2Cen|ter, &wi|
|00001e00| 6e 64 52 65 63 74 29 3b | 0d 0d 09 2f 2f 20 6e 6f |ndRect);|...// no|
|00001e10| 77 20 63 65 6e 74 65 72 | 20 77 69 6e 64 6f 77 20 |w center| window |
|00001e20| 61 72 6f 75 6e 64 20 78 | 2c 79 20 28 6f 66 66 73 |around x|,y (offs|
|00001e30| 65 74 20 62 79 20 68 61 | 6c 66 20 77 69 6e 64 6f |et by ha|lf windo|
|00001e40| 77 20 73 69 7a 65 29 0d | 09 78 20 3d 20 78 20 2d |w size).|.x = x -|
|00001e50| 20 28 28 77 69 6e 64 52 | 65 63 74 2e 72 69 67 68 | ((windR|ect.righ|
|00001e60| 74 20 2d 20 77 69 6e 64 | 52 65 63 74 2e 6c 65 66 |t - wind|Rect.lef|
|00001e70| 74 29 20 3e 3e 20 31 29 | 3b 0d 09 79 20 3d 20 79 |t) >> 1)|;..y = y|
|00001e80| 20 2d 20 28 28 77 69 6e | 64 52 65 63 74 2e 62 6f | - ((win|dRect.bo|
|00001e90| 74 74 6f 6d 20 2d 20 77 | 69 6e 64 52 65 63 74 2e |ttom - w|indRect.|
|00001ea0| 74 6f 70 29 20 3e 3e 20 | 31 29 3b 0d 09 4d 6f 76 |top) >> |1);..Mov|
|00001eb0| 65 57 69 6e 64 6f 77 28 | 77 69 6e 64 32 43 65 6e |eWindow(|wind2Cen|
|00001ec0| 74 65 72 2c 20 78 2c 20 | 79 2c 20 74 72 75 65 29 |ter, x, |y, true)|
|00001ed0| 3b 0d 0d 7d 20 2f 2f 20 | 43 65 6e 74 65 72 57 69 |;..} // |CenterWi|
|00001ee0| 6e 64 49 6e 52 65 63 74 | 0d 0d 0d 2f 2f 20 3d 3d |ndInRect|...// ==|
|00001ef0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001f10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 76 6f 69 |========|====.voi|
|00001f20| 64 20 50 6f 73 69 74 69 | 6f 6e 57 69 6e 64 6f 77 |d Positi|onWindow|
|00001f30| 28 57 69 6e 64 6f 77 50 | 74 72 20 77 69 6e 64 32 |(WindowP|tr wind2|
|00001f40| 50 6f 73 69 74 69 6f 6e | 2c 20 57 69 6e 64 43 65 |Position|, WindCe|
|00001f50| 6e 74 65 72 69 6e 67 5f | 74 20 64 6f 43 65 6e 74 |ntering_|t doCent|
|00001f60| 65 72 69 6e 67 2c 20 57 | 69 6e 64 50 6f 73 69 74 |ering, W|indPosit|
|00001f70| 69 6f 6e 69 6e 67 5f 74 | 20 77 68 65 72 65 54 6f |ioning_t| whereTo|
|00001f80| 53 68 6f 77 2c 20 57 69 | 6e 64 6f 77 50 74 72 20 |Show, Wi|ndowPtr |
|00001f90| 70 61 73 73 65 64 57 69 | 6e 64 6f 77 29 0d 7b 0d |passedWi|ndow).{.|
|00001fa0| 09 50 6f 69 6e 74 09 09 | 75 70 70 65 72 43 6f 72 |.Point..|upperCor|
|00001fb0| 6e 65 72 3b 0d 09 52 65 | 63 74 09 09 6d 61 69 6e |ner;..Re|ct..main|
|00001fc0| 52 65 63 74 3b 0d 09 52 | 65 63 74 09 09 77 69 6e |Rect;..R|ect..win|
|00001fd0| 64 52 65 63 74 3b 0d 09 | 52 65 63 74 09 09 64 65 |dRect;..|Rect..de|
|00001fe0| 76 69 63 65 52 65 63 74 | 3b 0d 09 52 65 63 74 09 |viceRect|;..Rect.|
|00001ff0| 09 6d 61 78 44 72 61 67 | 42 6f 75 6e 64 73 3b 0d |.maxDrag|Bounds;.|
|00002000| 09 47 44 48 61 6e 64 6c | 65 09 74 68 65 47 44 65 |.GDHandl|e.theGDe|
|00002010| 76 69 63 65 3b 0d 0d 09 | 69 66 20 28 77 69 6e 64 |vice;...|if (wind|
|00002020| 32 50 6f 73 69 74 69 6f | 6e 20 3d 3d 20 4e 55 4c |2Positio|n == NUL|
|00002030| 4c 29 0d 09 09 72 65 74 | 75 72 6e 3b 0d 0d 09 2f |L)...ret|urn;.../|
|00002040| 2f 20 53 65 74 20 75 70 | 20 62 6f 75 6e 64 73 20 |/ Set up| bounds |
|00002050| 66 6f 72 20 61 6c 6c 20 | 64 65 76 69 63 65 73 0d |for all |devices.|
|00002060| 09 53 65 74 52 65 63 74 | 28 26 6d 61 78 44 72 61 |.SetRect|(&maxDra|
|00002070| 67 42 6f 75 6e 64 73 2c | 20 2d 33 32 30 30 30 2c |gBounds,| -32000,|
|00002080| 20 2d 33 32 30 30 30 2c | 20 33 32 30 30 30 2c 20 | -32000,| 32000, |
|00002090| 33 32 30 30 30 29 3b 0d | 0d 09 2f 2f 20 46 69 6e |32000);.|..// Fin|
|000020a0| 64 20 6d 61 69 6e 20 64 | 65 76 69 63 65 20 62 6f |d main d|evice bo|
|000020b0| 75 6e 64 73 0d 09 74 68 | 65 47 44 65 76 69 63 65 |unds..th|eGDevice|
|000020c0| 20 3d 20 47 65 74 4d 61 | 69 6e 44 65 76 69 63 65 | = GetMa|inDevice|
|000020d0| 28 29 3b 0d 09 6d 61 69 | 6e 52 65 63 74 20 3d 20 |();..mai|nRect = |
|000020e0| 28 2a 2a 74 68 65 47 44 | 65 76 69 63 65 29 2e 67 |(**theGD|evice).g|
|000020f0| 64 52 65 63 74 3b 0d 0d | 09 2f 2f 20 66 69 6e 64 |dRect;..|.// find|
|00002100| 20 74 68 65 20 64 65 76 | 69 63 65 20 72 65 63 74 | the dev|ice rect|
|00002110| 61 6e 67 6c 65 20 74 6f | 20 73 68 6f 77 20 77 69 |angle to| show wi|
|00002120| 6e 64 6f 77 20 6f 6e 0d | 09 73 77 69 74 63 68 20 |ndow on.|.switch |
|00002130| 28 77 68 65 72 65 54 6f | 53 68 6f 77 29 0d 09 7b |(whereTo|Show)..{|
|00002140| 0d 09 09 63 61 73 65 20 | 65 53 61 6d 65 41 73 50 |...case |eSameAsP|
|00002150| 61 73 73 65 64 57 69 6e | 64 6f 77 3a 0d 09 09 09 |assedWin|dow:....|
|00002160| 69 66 20 28 70 61 73 73 | 65 64 57 69 6e 64 6f 77 |if (pass|edWindow|
|00002170| 29 0d 09 09 09 7b 0d 09 | 09 09 09 2f 2f 20 77 68 |)....{..|...// wh|
|00002180| 65 72 65 27 73 20 74 68 | 65 20 70 61 73 73 65 64 |ere's th|e passed|
|00002190| 20 77 69 6e 64 6f 77 0d | 09 09 09 09 47 65 74 47 | window.|....GetG|
|000021a0| 6c 6f 62 61 6c 57 69 6e | 64 6f 77 52 65 63 74 28 |lobalWin|dowRect(|
|000021b0| 70 61 73 73 65 64 57 69 | 6e 64 6f 77 2c 20 26 77 |passedWi|ndow, &w|
|000021c0| 69 6e 64 52 65 63 74 29 | 3b 0d 09 09 09 09 74 68 |indRect)|;.....th|
|000021d0| 65 47 44 65 76 69 63 65 | 20 3d 20 47 65 74 43 6c |eGDevice| = GetCl|
|000021e0| 6f 73 65 73 74 47 44 65 | 76 69 63 65 28 26 77 69 |osestGDe|vice(&wi|
|000021f0| 6e 64 52 65 63 74 29 3b | 0d 09 09 09 09 64 65 76 |ndRect);|.....dev|
|00002200| 69 63 65 52 65 63 74 20 | 3d 20 28 2a 2a 74 68 65 |iceRect |= (**the|
|00002210| 47 44 65 76 69 63 65 29 | 2e 67 64 52 65 63 74 3b |GDevice)|.gdRect;|
|00002220| 0d 09 09 09 09 62 72 65 | 61 6b 3b 0d 09 09 09 7d |.....bre|ak;....}|
|00002230| 0d 09 09 09 2f 2f 20 6f | 74 68 65 72 77 69 73 65 |....// o|therwise|
|00002240| 20 66 61 6c 6c 20 74 68 | 72 6f 75 67 68 20 74 6f | fall th|rough to|
|00002250| 20 6d 61 69 6e 20 64 65 | 76 69 63 65 0d 0d 09 09 | main de|vice....|
|00002260| 63 61 73 65 20 65 4d 61 | 69 6e 44 65 76 69 63 65 |case eMa|inDevice|
|00002270| 3a 0d 09 09 09 64 65 76 | 69 63 65 52 65 63 74 20 |:....dev|iceRect |
|00002280| 3d 20 6d 61 69 6e 52 65 | 63 74 3b 0d 09 09 09 62 |= mainRe|ct;....b|
|00002290| 72 65 61 6b 3b 0d 0d 09 | 09 63 61 73 65 20 65 44 |reak;...|.case eD|
|000022a0| 65 65 70 65 73 74 44 65 | 76 69 63 65 3a 0d 09 09 |eepestDe|vice:...|
|000022b0| 09 74 68 65 47 44 65 76 | 69 63 65 20 3d 20 47 65 |.theGDev|ice = Ge|
|000022c0| 74 4d 61 78 44 65 76 69 | 63 65 28 26 6d 61 78 44 |tMaxDevi|ce(&maxD|
|000022d0| 72 61 67 42 6f 75 6e 64 | 73 29 3b 0d 09 09 09 64 |ragBound|s);....d|
|000022e0| 65 76 69 63 65 52 65 63 | 74 20 3d 20 28 2a 2a 74 |eviceRec|t = (**t|
|000022f0| 68 65 47 44 65 76 69 63 | 65 29 2e 67 64 52 65 63 |heGDevic|e).gdRec|
|00002300| 74 3b 0d 09 09 09 62 72 | 65 61 6b 3b 0d 09 7d 20 |t;....br|eak;..} |
|00002310| 2f 2f 20 73 77 69 74 63 | 68 0d 0d 09 2f 2f 20 53 |// switc|h...// S|
|00002320| 65 65 20 69 66 20 69 74 | 73 20 74 68 65 20 6d 61 |ee if it|s the ma|
|00002330| 69 6e 20 73 63 72 65 65 | 6e 2e 20 20 49 66 20 73 |in scree|n. If s|
|00002340| 6f 2c 20 74 61 6b 65 20 | 6d 65 6e 75 20 62 61 72 |o, take |menu bar|
|00002350| 20 69 6e 74 6f 20 61 63 | 63 6f 75 6e 74 21 0d 09 | into ac|count!..|
|00002360| 69 66 20 28 20 28 2a 2a | 74 68 65 47 44 65 76 69 |if ( (**|theGDevi|
|00002370| 63 65 29 2e 67 64 46 6c | 61 67 73 20 26 20 28 31 |ce).gdFl|ags & (1|
|00002380| 3c 3c 6d 61 69 6e 53 63 | 72 65 65 6e 29 20 29 0d |<<mainSc|reen) ).|
|00002390| 09 09 64 65 76 69 63 65 | 52 65 63 74 2e 74 6f 70 |..device|Rect.top|
|000023a0| 20 2b 3d 20 47 65 74 4d | 42 61 72 48 65 69 67 68 | += GetM|BarHeigh|
|000023b0| 74 28 29 3b 0d 0d 09 2f | 2f 20 69 66 20 63 65 6e |t();.../|/ if cen|
|000023c0| 74 65 72 69 6e 67 2c 20 | 63 65 6e 74 65 72 20 6f |tering, |center o|
|000023d0| 6e 20 73 63 72 65 65 6e | 20 75 73 69 6e 67 20 74 |n screen| using t|
|000023e0| 68 61 74 20 72 65 63 74 | 0d 09 2f 2f 20 6f 74 68 |hat rect|..// oth|
|000023f0| 65 72 77 69 73 65 20 70 | 75 74 20 69 6e 20 72 65 |erwise p|ut in re|
|00002400| 6c 61 74 69 76 65 6c 79 | 20 73 61 6d 65 20 73 70 |latively| same sp|
|00002410| 6f 74 20 6f 6e 20 73 63 | 72 65 65 6e 0d 09 69 66 |ot on sc|reen..if|
|00002420| 20 28 64 6f 43 65 6e 74 | 65 72 69 6e 67 20 3d 3d | (doCent|ering ==|
|00002430| 20 65 77 63 44 6f 43 65 | 6e 74 65 72 69 6e 67 29 | ewcDoCe|ntering)|
|00002440| 0d 09 09 43 65 6e 74 65 | 72 57 69 6e 64 49 6e 52 |...Cente|rWindInR|
|00002450| 65 63 74 28 77 69 6e 64 | 32 50 6f 73 69 74 69 6f |ect(wind|2Positio|
|00002460| 6e 2c 20 64 65 76 69 63 | 65 52 65 63 74 29 3b 0d |n, devic|eRect);.|
|00002470| 09 65 6c 73 65 0d 09 7b | 0d 09 09 2f 2f 20 77 68 |.else..{|...// wh|
|00002480| 65 72 65 27 73 20 74 68 | 65 20 77 69 6e 64 6f 77 |ere's th|e window|
|00002490| 2c 20 72 65 6c 61 74 69 | 76 65 20 74 6f 20 6d 61 |, relati|ve to ma|
|000024a0| 69 6e 20 73 63 72 65 65 | 6e 0d 09 09 47 65 74 47 |in scree|n...GetG|
|000024b0| 6c 6f 62 61 6c 57 69 6e | 64 6f 77 52 65 63 74 28 |lobalWin|dowRect(|
|000024c0| 77 69 6e 64 32 50 6f 73 | 69 74 69 6f 6e 2c 20 26 |wind2Pos|ition, &|
|000024d0| 77 69 6e 64 52 65 63 74 | 29 3b 0d 09 09 2f 2f 20 |windRect|);...// |
|000024e0| 66 69 6e 64 20 72 65 6c | 61 74 69 76 65 20 73 70 |find rel|ative sp|
|000024f0| 6f 74 20 6f 6e 20 6e 65 | 77 20 64 65 76 69 63 65 |ot on ne|w device|
|00002500| 0d 09 09 75 70 70 65 72 | 43 6f 72 6e 65 72 2e 68 |...upper|Corner.h|
|00002510| 20 3d 20 77 69 6e 64 52 | 65 63 74 2e 6c 65 66 74 | = windR|ect.left|
|00002520| 3b 0d 09 09 75 70 70 65 | 72 43 6f 72 6e 65 72 2e |;...uppe|rCorner.|
|00002530| 76 20 3d 20 77 69 6e 64 | 52 65 63 74 2e 74 6f 70 |v = wind|Rect.top|
|00002540| 3b 0d 09 09 2f 2f 20 6e | 6f 77 20 72 65 6c 61 74 |;...// n|ow relat|
|00002550| 69 76 65 20 74 6f 20 6e | 65 77 20 73 63 72 65 65 |ive to n|ew scree|
|00002560| 6e 0d 09 09 75 70 70 65 | 72 43 6f 72 6e 65 72 2e |n...uppe|rCorner.|
|00002570| 68 20 3d 20 75 70 70 65 | 72 43 6f 72 6e 65 72 2e |h = uppe|rCorner.|
|00002580| 68 20 2b 20 64 65 76 69 | 63 65 52 65 63 74 2e 6c |h + devi|ceRect.l|
|00002590| 65 66 74 3b 0d 09 09 75 | 70 70 65 72 43 6f 72 6e |eft;...u|pperCorn|
|000025a0| 65 72 2e 76 20 3d 20 75 | 70 70 65 72 43 6f 72 6e |er.v = u|pperCorn|
|000025b0| 65 72 2e 76 20 2b 20 64 | 65 76 69 63 65 52 65 63 |er.v + d|eviceRec|
|000025c0| 74 2e 74 6f 70 3b 0d 09 | 09 2f 2f 20 6d 6f 76 65 |t.top;..|.// move|
|000025d0| 20 69 74 20 74 68 65 72 | 65 0d 09 09 4d 6f 76 65 | it ther|e...Move|
|000025e0| 57 69 6e 64 6f 77 28 77 | 69 6e 64 32 50 6f 73 69 |Window(w|ind2Posi|
|000025f0| 74 69 6f 6e 2c 20 75 70 | 70 65 72 43 6f 72 6e 65 |tion, up|perCorne|
|00002600| 72 2e 68 2c 20 75 70 70 | 65 72 43 6f 72 6e 65 72 |r.h, upp|erCorner|
|00002610| 2e 76 2c 20 74 72 75 65 | 29 3b 0d 09 7d 0d 7d 20 |.v, true|);..}.} |
|00002620| 2f 2f 20 50 6f 73 69 74 | 69 6f 6e 57 69 6e 64 6f |// Posit|ionWindo|
|00002630| 77 0d 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |w.......|........|
|00002640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002680| 00 00 01 00 00 00 02 e6 | 00 00 01 e6 00 00 00 72 |........|.......r|
|00002690| 00 00 00 10 00 80 00 00 | 00 0d 07 00 00 00 10 fb |........|........|
|000026a0| 01 41 00 00 00 0a 07 00 | 00 00 13 d1 00 08 00 00 |.A......|........|
|000026b0| 0d 53 63 72 65 65 6e 55 | 74 69 6c 73 2e 63 02 00 |.ScreenU|tils.c..|
|000026c0| 00 00 54 45 58 54 4d 50 | 53 20 01 02 ff ff ff ff |..TEXTMP|S ......|
|000026d0| 00 00 54 45 58 54 4d 50 | 53 20 01 02 ff ff ff ff |..TEXTMP|S ......|
|000026e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000026f0| 00 00 a6 c1 45 fc 00 00 | 25 b2 00 00 03 58 34 a1 |....E...|%....X4.|
|00002700| 00 5a 00 00 00 07 07 00 | 00 00 34 a0 01 77 00 00 |.Z......|..4..w..|
|00002710| 00 07 07 00 00 00 27 fa | 00 04 00 00 00 07 07 00 |......'.|........|
|00002720| 00 00 27 fa 00 04 00 00 | 00 07 00 00 00 00 00 00 |..'.....|........|
|00002730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002780| 00 00 00 0a 00 00 0d 28 | ff ff 00 00 00 00 00 00 |.......(|........|
|00002790| 00 c6 00 05 00 2a 00 00 | 0c e7 00 5f 00 d9 3e 58 |.....*..|..._..>X|
|000027a0| 80 00 00 70 02 ab 00 e2 | 04 06 94 20 00 00 00 00 |...p....|... ....|
|000027b0| 00 00 0b 61 44 65 76 69 | 63 65 52 65 63 74 00 2c |...aDevi|ceRect.,|
|000027c0| 00 00 0c e7 00 5f 00 d9 | 3d e0 80 00 00 df 02 a9 |....._..|=.......|
|000027d0| 01 51 04 04 94 20 00 00 | 00 00 00 00 0d 2a 61 47 |.Q... ..|.....*aG|
|000027e0| 6c 6f 62 61 6c 52 65 63 | 74 20 00 14 00 00 0f fe |lobalRec|t ......|
|000027f0| 00 74 00 d9 3d 74 00 00 | 05 61 72 65 61 20 00 2c |.t..=t..|.area .,|
|00002800| 00 00 0f fe 00 74 00 d9 | 3d 64 80 00 01 54 02 aa |.....t..|=d...T..|
|00002810| 01 c6 04 05 94 20 00 00 | 00 00 00 00 0d 69 6e 74 |..... ..|.....int|
|00002820| 65 72 73 65 63 74 52 65 | 63 74 00 2e 00 00 15 ed |ersectRe|ct......|
|00002830| 00 98 00 d9 3c e8 80 00 | 01 c1 02 a7 02 33 04 02 |....<...|.....3..|
|00002840| 94 20 00 00 00 00 00 00 | 0f 66 6f 75 6e 64 44 65 |. ......|.foundDe|
|00002850| 76 69 63 65 52 65 63 74 | 00 00 00 48 00 09 4d 6f |viceRect|...H..Mo|
|00002860| 6e 61 63 6f 00 00 01 00 | 01 26 e3 10 20 00 01 26 |naco....|.&.. ..&|
|00002870| 01 26 3d 86 01 26 e8 54 | 00 00 00 00 01 26 00 06 |.&=..&.T|.....&..|
|00002880| 00 04 00 2a 00 04 01 d1 | 02 00 00 2a 00 03 01 dd |...*....|...*....|
|00002890| 02 7d a9 78 41 ad 00 00 | 00 70 00 00 00 70 00 00 |.}.xA...|.p...p..|
|000028a0| 00 00 01 00 00 00 00 9c | 00 06 00 00 1c 67 00 00 |........|.....g..|
|000028b0| 1c 77 11 43 65 6e 74 65 | 72 57 69 6e 64 49 6e 52 |.w.Cente|rWindInR|
|000028c0| 65 63 74 00 00 00 0c 61 | 00 00 0c 72 11 46 6f 72 |ect....a|...r.For|
|000028d0| 63 65 52 65 63 74 4f 6e | 53 63 72 65 65 6e 00 00 |ceRectOn|Screen..|
|000028e0| 17 90 00 00 17 a1 11 47 | 65 74 43 6c 6f 73 65 73 |.......G|etCloses|
|000028f0| 74 47 44 65 76 69 63 65 | 00 00 0b 04 00 00 0b 17 |tGDevice|........|
|00002900| 13 47 65 74 47 6c 6f 62 | 61 6c 57 69 6e 64 6f 77 |.GetGlob|alWindow|
|00002910| 52 65 63 74 00 00 19 03 | 00 00 19 11 0f 47 65 74 |Rect....|.....Get|
|00002920| 4d 61 78 47 72 6f 77 52 | 65 63 74 00 00 00 1e a2 |MaxGrowR|ect.....|
|00002930| 00 00 1e b0 0f 50 6f 73 | 69 74 69 6f 6e 57 69 6e |.....Pos|itionWin|
|00002940| 64 6f 77 00 00 00 00 1e | 00 2a 00 04 01 d1 02 00 |dow.....|.*......|
|00002950| 00 2a 00 03 01 dd 02 7d | 00 00 00 00 00 00 00 00 |.*.....}|........|
|00002960| 00 00 00 00 00 00 00 00 | 01 00 00 00 02 e6 00 00 |........|........|
|00002970| 01 e6 00 00 00 72 00 8d | 3b f8 18 3e 00 00 00 1c |.....r..|;..>....|
|00002980| 00 72 00 02 4d 50 53 52 | 00 02 00 1a 42 4b 50 54 |.r..MPSR|....BKPT|
|00002990| 00 00 00 3e 44 54 56 55 | 00 00 00 4a 03 ed ff ff |...>DTVU|...J....|
|000029a0| 00 00 00 d8 00 00 00 00 | 03 ef ff ff 00 00 01 24 |........|.......$|
|000029b0| 00 00 00 00 03 f0 ff ff | 00 00 01 c4 00 8f 92 34 |........|.......4|
|000029c0| 42 32 ff ff 00 00 00 00 | 00 00 00 00 3b 7c ff ff |B2......|....;|..|
|000029d0| 00 00 00 0e 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+